<template>
	<view>
		<image src="../../static/login/top.png" mode="widthFix" class="top"></image>
		<image src="../../static/login/logo.jpg" mode="widthFix" class="logo"></image>
		<view class="desc">
			<text class="name">有我在您可放心畅饮</text>
		</view>
		<button class="btn" @tap="wxLogin()">乘客登陆</button>
		<view class="register-container">
			没有账号?
			<text class="link" @tap="toRegisterPage()">立即注册</text>
		</view>
		<text class="remark">小程序仅限于飞驰专车代驾使用,登录前请先进行微信注册,注册前请消息阅读注册需求和使用流程</text>
		<u-toast ref="uToast" />
	</view>
</template>

<script>
	export default {
		data() {
			return {
				code: null,
				customer_login_type: 2,
			};
		},
		methods: {
			toRegisterPage() { // 跳转到注册页面的方法
				uni.navigateTo({
					url: "/pages/register/register"
				});
			},
			// 点击乘客登录执行的方法：获取code并传递参数给后端解析
			wxLogin() {
				const _this = this;
				wx.login({
					success(res) {
						if (res.code) {
							// 发送get请求传递code给后端，方便后端根据code去解析openid
							_this.post("/uaa/app/login/wxlogin/" + res.code + "/" + _this.customer_login_type, (
								resp) => {
									if (resp.success) {
										// 发送成功后提示信息停留2秒
										uni.showToast({
											icon: "success",
											title: "登陆成功！",
											duration: 2000
										})
										// 2秒后执行定时器，跳转到登录界面
										setTimeout(function() {
											uni.switchTab({
												url: "/pages/workbench/workbench"
											})
										}, 2000)
										let {
											tokenName,
											tokenValue,
											permissions,
											loginInfoDto
										} = resp.data;
										// 保存token信息到localstorage
										uni.setStorageSync("tokenName", tokenName);
										uni.setStorageSync("tokenValue", tokenValue);
										// 保存权限信息到localstorage
										uni.setStorageSync("permissions", permissions);
										// 保存用户信息到localstorage
										uni.setStorageSync("loginInfoDto", loginInfoDto);
										console.log(resp.data);

									} else {
										// 发送失败提示后端的友好提示语
										uni.showToast({
											icon: "error",
											title: resp.message,
										})
									}
								})
						} else {
							uni.showToast({
								icon: "error",
								title: "获取不到信息",
							})
						}
					}
				})
			},

		},
		onLoad: function() {}
	};
</script>

<style lang="less">
	@import url('login.less');
</style>